跳到主要内容

为 PostgreSQL 的改进做出贡献

学习内核的目的,最终要回归到改进内核上面去,在本节当中,我们将就如何参与 PostgreSQL 内核的改进工作,如何为数据库科学的发展做出贡献,展开讨论。

PostgreSQL 内核社区的组成结构与内核的改进流程

为了有序地改进内核,PostgreSQL 的开发者们按照职责划分为三类,并按照下图的流程展开工作。

  • Developer(内核研发者)
    Developer 按照自身的意愿对内核的某个模块进行修订(既可以是功能的增强,也可以是对现有 bug 的改进),构造形成一个“补丁”(Patch),并将其通过 Commitfests 应用程序提交到 pgsql-hackers 邮件列表中展开讨论。
  • Reviewer(内核审核者)
    Reviewer 根据自身所长选择由 Developer 提交而来的补丁,给出反馈意见以促进补丁的完善。
    很多内核研发者最初都是 Reviewer,他们通过阅读代码而积累了内核的各项知识,并由此形成了自己的改进想法。
  • Committer(内核提交者)
    Committer 源自于经验丰富的 Developer/Reviewer,他们具备对于补丁的最终审核权限,直接决定其是否能够合并进入内核。
    经验最丰富的 Committer 组成 PostgreSQL 的 Core Team(核心团队),直接领导 PostgreSQL 某个方面的开发,他们是社区的领导人与灵魂人物。

PostgreSQL Community

(PostgreSQL 内核改进流程图)

参与 PostgreSQL 社区的途径与方式

大体而言,参与 PostgreSQL 社区的方式,大体分为两类。

  • 参与国际社区
    www.postgresql.org 为代表的国际社区,集合着来自于全球各地的内核开发者以及其它方面的工作人员,PostgreSQL 的所有重要决策均在上面做出。
    想要直接促进 PostgreSQL 的改进的话,参与国际社区的讨论是唯一的途径。
  • 参与本地用户组
    本地用户组由各个区域的程序员自发联结而成,相较于国际社区,它们更具有地方特色。
    在我国,目前影响力最大的本地用户组分别是中国 PG 分会与 PostgreSQL 中文社区,它们采取着各种方法来团结业内的各方面人物,推动 PostgreSQL 在中国大地的发展。

我们的建议是同时参与国际社区与本地的用户组,前者可以帮助你跟踪到最新的内核发展趋势,后者则可以帮助你找到志同道合的朋友。

内核的研发是一套系统工程,所以团队协作集群作战,好于单打独斗的个人英雄主义式开发,在接下来,我们将就如何参与到 PostgreSQL 内核社区展开讨论。